package com.hoperun.nocserver.common.utils;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

/**
 * json处理工具类（这里用到了fastjson）
 * 
 * @author zhu_longxiang
 *
 */
public class JsonUtil {

	/**
	 * 把实体转换为json字符串
	 * 
	 * @param object
	 *            实体
	 * @return json字符串
	 */
	public static String toJSONString(Object object) {
		return JSON.toJSONString(object);
	}

	/**
	 * 将json字符串转换为实体
	 * 
	 * @param text
	 *            json字符串
	 * @return 实体
	 */
	public static Object toBean(String text) {
		return JSON.parse(text);
	}

	/**
	 * 将json字符串转换为制定类型的实体
	 * 
	 * @param text
	 *            json字符串
	 * @param clazz
	 *            实体类型
	 * @return 实体
	 */
	public static <T> T toBean(String text, Class<T> clazz) {
		return JSON.parseObject(text, clazz);
	}

	/**
	 * 将json字符串转换为制定类型的list
	 * 
	 * @param text
	 *            json字符串
	 * @param clazz
	 *            实体类型
	 * @return 实体list
	 */
	public static <T> List<T> toList(String text, Class<T> clazz) {
		return JSON.parseArray(text, clazz);
	}

	/**
	 * 将map转化为string
	 * 
	 * @param map
	 *            map集合
	 * @return string
	 */
	@SuppressWarnings("rawtypes")
	public static String mapToString(Map map) {
		return JSONObject.toJSONString(map);
	}
}
